package projekt;

import java.io.Serializable;
import java.util.Date;

import liste.*;
import person.*;

public class Projekt implements Serializable, Comparable<Projekt> {
	/**
	 * 
	 */
	private static final long serialVersionUID = -8639534175221803371L;
	private Mitarbeiter projektleiter;
	private MitarbeiterListe mitarbeiter;
	private long id;
	private String name;
	private Date istGestartet;

	public Projekt(Mitarbeiter projektleiter, MitarbeiterListe mitarbeiter,
			long id, String name, Date istGestartet) {
		this.projektleiter = projektleiter;
		this.mitarbeiter = mitarbeiter;
		this.id = id;
		this.name = name;
		this.istGestartet= istGestartet;
	}

	public Date getIstGestartet() {
		return istGestartet;
	}

	public void setIstGestartet(Date istGestartet) {
		this.istGestartet = istGestartet;
	}

	public Mitarbeiter getProjektleiter() {
		return projektleiter;
	}

	public void setProjektleiter(Mitarbeiter projektleiter) {
		this.projektleiter = projektleiter;
	}

	public MitarbeiterListe getMitarbeiter() {
		return mitarbeiter;
	}

	public void setMitarbeiter(MitarbeiterListe mitarbeiter) {
		this.mitarbeiter = mitarbeiter;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean equals(Projekt projekt) {
		if (this.id == projekt.id)
			return true;
		else
			return false;
	}

	public String toString() {
		return "Name: " + this.name + "\nID: " + this.id + "\n"
				+ "Projektleiter: " + projektleiter.getName() + ", " + projektleiter.getVorname() + "\n"
				+ "\nMitarbeiter: \n" + mitarbeiter.toString() +"\n Das Projekt ist gestartet am: "+ this.istGestartet+"\n\n";
	}

	@Override
	public int compareTo(Projekt p) {
		return this.getName().compareTo(p.getName());
	}
}
